Multi-jointed robots (herein robots) are very well known in the art. They are important to many industries. While some robots are required for precision movements and repetition under minimal load (an extreme of which would be a computer controlled coordinate measuring machine (CMM) for which highest accuracies are desired, where the load displaced by the robot is minimized), and an opposite extreme is a robot that is designed to apply large forces, with little concern for accuracy (for example manipulating large molten metal vessels to deposit the melt into large molds in a foundry setting). The applications of present concern require both enough accuracy (relative to the resolution of control over joints of the robot) as well as the development by the robot of enough force (relative to joint torques and link stiffnesses) to make accurate motion control under load difficult: that is, applications of interest are those that subject a robot to solicitations (forces, torques, wrenches) that excite the robot compliances (link and joint) to the extent that the robot paths fall outside of tolerance, and needs to be managed. Such applications include friction stir welding (FSW), drilling, milling, trimming, and some mounting and assembly processes, inter alia. Note that some FSW applications require the robot to resist the highest process forces (several to many thousands of Newtons) and tolerances of several tenths of a millimeter (mm) to a few mm, whereas some machining processes call for the highest accuracies, while the robot may be subject to process forces in the order of a few hundred Newtons (N).
It will be appreciated that for any particular process, a robot can be optimally designed to provide stiffness and accuracy, but the objective here is to provide a technique that will improve the utility of general purpose, commercially available robots that are suited to a large number of tasks (reconfigurable). Parallel kinematic machines, gantry systems, and manipulators with fewer mobilities, such as non-multijointed manipulators that have one or maybe two joints, can replace a robot for higher stiffness and accuracy processes, assuming the processes do not require the 3D capability (maneuverability) of the robot, but the limited reconfigurability and maneuverability of such manipulators make them inherently incapable of performing a wider variety of tasks. Ultimately it is desired to enable utilization of standard robots for applications where management of deviation under load is required to meet process specifications.
Currently, there are three approaches for applying robots to processes where management of deviation under load is required: 1—provide in-line position feedback, often through expensive, invasive and sometimes bulky automated vision guidance systems, or other sensors; 2—provide path corrections in robot programs through an off-line human intervention after inspection; or 3—provide a compliance model of the robot, and using the compliance model to compute corrections to robot trajectories in realtime, or prior to the process.
While off-line human intervention after inspection is a possibility for many processes, it is complicated, time-consuming, and requires the production of one or several defective products to determine the corrections that need to be made to the process. This is essentially a trial and error method for determining the correction, and is certainly not preferred if the parts manipulated during the process are expensive.
In-line position feedback can be an effective method in certain circumstances, and can reduce a time required for changeover (reconfiguring the robot for a different use). In-line position feedback may require instrumentation of a set of fiducial markers in the robot environment, on workpieces, and/or on tooling. Designing, arranging, and configuring fiducial markers may be difficult, time consuming, and expensive. Vision-guidance systems can also be sensitive to signal noise from environmental contamination in production facilities. Several manufacturing operations create dust or smoke that impair vision systems, as does variable ambient lighting and many other sources of optical noise. Vision-guidance systems are often expensive, and it would be desirable in many instances to obviate their use.
Realtime, compliance model-based, compensation provides an efficient means for improving the intrinsic accuracy of robots under load, with minimal instrumentation, and little sensitivity to environmental contaminants. Such techniques would be commonplace were it not that there are substantial problems with ascertaining the parameters required to populate such compliance models for robots: these parameters are obtained by deviation under load determinations.
Herein deviation is understood as a measure of how far off an end point position and pose of a particular robot is, as a whole, because of an applied load of a particular magnitude and direction while the robot is in a given pose. The deviation may be determined in a quasi-static regime, so that the measures do not depend on dynamic considerations such as inertia and acceleration, and if so, the deviations can be used to generate parameters of a kinetostatic model of the robot. Generating these parameters is known as kinetostatic calibration. Compliances may be computed from observed deviations under load in a manner known in the art. Compliances are properties of the robot that are associated with a part of the deviations that are linear as a function of applied load. Kinetostatic models are used to predict deviations for the robot when it is subject to quasi-static solicitations. Kinetostatic models can be used to produce realtime model deformation compensation.
It is also important to note the distinction between obtaining kinetostatic models and kinematic calibrations. Each robot has forward and inverse kinematics for computing a pose of the robot as a function of the instant values of the joint parameters (e.g. output by encoders), and joint positions required to put the robot into a desired pose in Cartesian space. Kinematics are purely geometrical. Establishing the parameters of forward and inverse kinematics to provide accurate transforms between robot endpoints and joint encoder positions is known as kinematic calibration, but it does not account for deviation of the robot from any load. One example of a kinematic calibration method is provided in FIGS. 22,23 of U.S. Pat. No. 4,481,592 to Jacobs et al. This calibration method involves the use of a fixture in the form of a cantilevered beam that extends rigidly from a base of a programmable manipulator. The fixture has an endpoint to which the end effector of the programmable manipulator attaches. The endpoint is exactly positioned and oriented with respect to the base thereby establishing a known position and orientation for the end effector. A similar system is taught by Raab in U.S. Pat. No. 5,611,147 for calibrating a CMM, except that the fixture of Raab is a ballbar having two spherical joints that allow the CMM to be calibrated across a spherical surface. Both the ballbar and cantilevered beam are clearly intended to provide accurate geometric references and are not intended to transfer forces between the calibration apparatus and the robot. Thus these systems are not designed to measure deviation under load.
There have been many attempts to identify, in limited ways, compliances of multi-jointed robots under load. Gravity-compensation is a known technique for identifying compliance under gravitational load. These are particularly useful for robots that principally carry loads within their work envelope, or are used in non-contact applications. Gravity-compensation models are populated by attaching a known mass to an endpoint of the robot, and comparing the forward kinematic position of the endpoint with an accurately measured position, to determine an error. There is a body of literature on gravity-compensation in robots. The compliances models produced by gravity-compensation techniques are limited in the sense that the range of solicitations that are applied are unidirectional. However, many robotic processes, like those listed above, involve process forces in a variety of directions.
Several other partial kinetostatic calibrations are known, that are not limited to solicitations of the gravitational field. It is known in the art, for example, following the teachings of Dumas et al. “Joint Stiffness Identification of Six-revolute Industrial Serial Robots”, Robotics and Computer-Integrated Manufacturing 27, 4 (2011) 881-888, that given a set of wrenches applied to a robot end effector, and the displacements resulting from the wrenches, how to compute stiffness properties for a robot. A chain, mass and spring system are used to apply a desired load on the robot at any chosen pose within a given range. There are many similar methods in the literature for identifying deviations of robots using one or more masses, and/or one or more tensioned cables and suitable position measurement equipment. According to the teachings of Pan et al. (“Improving Robotic Machining Accuracy by Realtime Compensation” ICROS-SICE Int. Joint Conf. 2009 Aug. 18-21, 2009) a mass can be suspended from the robot endpoint to determine robot stiffness parameters, that are used for realtime deformation compensation. Pan et al. use a CMM for measuring the deformation. Another example is by Klimchik et al. “Practical Identifiability of the Manipulator Link Stiffness Parameters” (ASME 2013 IMECE2013-63123), which uses weights with special end-of-arm tooling to allow for more complex solicitations. A laser tracker is used for measuring displacements. According to the teachings, for example, of Alici et al., “Enhanced Stiffness Modeling, Identification and Characterization for Robot Manipulators” (IEEE Transactions on Robotics v21, No. 4, August 2005) cables can be used to apply forces on robot end effectors, and a laser tracker can be used to measure displacement under the load. According to Wang et al. “Improving Machining Accuracy with Robot Deformation Compensation” (2009 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems) a cable and pulley arrangement is used to exert the force and a CMM is used to measure the displacement. A final example, to Belchior et al., “Off-line Compensation of the Tool Path Deviations on Robotic Machining: Application to Incremental Sheet Forming” (Robotics and Computer-Integrated Manufacturing 29 (2013) 58-69) which includes masses and a cable to provide more elaborate solicitations.
It will be noted that these prior art examples all require externally supplied force applicators, and external deformation measurement equipment. Avoiding either or both of these would greatly improve the state of the art. It will be appreciated that the complex equipment for applying forces on the end effectors and for measuring the displacements are onerous, and are not convenient in production environments. The use of weights allows for the application of force vectors in the direction of gravity only, while experiments with cable arrangements are invasive and more difficult to plan and implement in a production environment. The space for all of these components is often not available around a robot in a production environment, where it is surrounded by equipment and supplies. Managing cables and aligning forces is tedious, and is generally plausible only for a subset of robot poses and force vector directions. Mechanization of the externally supplied force applicators, as would be required to avoid a long, off-line measurement process in a production setting, is not taught and would generally lead to greater uncertainty in the measurement.
A more general technique for kinetostatic calibration has more recently been presented. WO 2014/065744 to Nilsson credits Bennett, Hollerbach and Henri (Bennett et al.) with the idea of: clamping a (multi-jointed) robot in a predefined pose; applying joint torques; and measuring the induced endpoint forces and torques using a force/torque sensor attached to the tool flange close to the point of clamping. It appears that Bennett et al. had no interest in measuring deviation under load, but rather teach these steps for the purpose of populating a Jacobian matrix transform (which maps forces/torques from the Cartesian frame to actuator torques, or equivalently joint velocities to endpoint velocities). Bennett et al. is proposing a kinematic calibration method, exempt from any deviation under load measurement. Nilsson's idea of clamping a multi-jointed robot in a predefined pose, commanding a predefined actuator movement, and measuring the associated actuator torque, as a way to identify the properties of that given joint, including its compliance, provides a simpler and more appealing approach compared to the calibration systems described above.
A variety of clamping techniques are discussed by Nilsson. In its background, Nilsson suggests coupling of the end effector or flange of the robot, to a rigid rod that is jointed at both ends. Nilsson also states, but does not explain, that an alternative to the rigid rod is some other mechanism that in a well-defined way restricts movement relative to the environment, but allows certain joint motions. Nilsson further teaches using a clamping item with a head and three pairs of legs as a preferred means for supporting a tool exchanger part (by which the robot is clamped), but notes that the clamping means may have any shape or form as long as it is essentially free from backlash and can provide a point in space for clamping of the movable part of the manipulator. Nilsson also teaches that the clamping may be applied at links and not just at the end effector or flange of the robot.
Nilsson also teaches that the clamping item may be elastic, such that the manipulator, after initial clamping to the clamping item, may reach a point in space in which it is clamped later, once it has achieved a resting position at the clamping item. In case of an elastic clamping item, the stiffness of the same should be known, and the elastic displacement of the clamping item will need to be determined based on tool exchanger forces, which in turn can be determined via joint torques and the kinematic model, or by using an external wrist mounted force/torque sensor.
Nilsson does not teach or suggest locking in any way other than by clamping, and considers backlash to be an important feature for selecting a clamping means. Specifically, at p. 17, Nilsson states: “Since the commanded actuator motion is known and there is essentially no motion of the drivetrain output due to the clamping, this means that the drivetrain input torque can be controlled during clamped motions”. Thus Nilsson relies on the clamping to have no backlash, in order to isolate the desired phenomena at the specific joint being investigated.
The approach taught by Nilsson may not be satisfactory for multi-jointed robots. While a multi-jointed robot is shown in FIG. 1a, and is stated to be an embodiment of the invention, there are significant coupling effects between internal movements of different joints when clamped. The kinetostatic behavior of the rest of the robot when clamped, and subjected to the exerted loads, are liable to interfere with readings at the moving joint. In fact, once a predefined angular motion has been commanded to a given joint (at the input of the drivetrain), the compliance of said joint equals the commanded amplitude divided by the induced torque. Since only the isolated deviations of the said joint is sought, the reading of the induced torque must be recorded in a situation where no motion of said joint occurs. In such a situation, the entire commanded motion will be fully stored into potential elastic energy and in the drivetrain. This implies that the rest of the robot is infinitely rigid. In any real robot, however, the displacement exerted at the joint will not only excite said joint, but will induce a series of internal motions throughout the kinematic chain, until stability is reached. These internal motions are not captured by the taught method, and can be manifested by a bending or torsional deformation in the remainder of joints and links, as well as backlashes in some of the drivetrains of the non-actuated joints, with different amplitudes depending on the pose of the robot and the directions of the force and moment vectors at the clamping point. The final stable configuration will generally involve some motion at the output link of the joint to accommodate the overall deformation of the robot. This motion of the output link needs to be accounted for in Nilsson's approach (subtracted from the commanded angular motion) to make this identification process accurate.
Applying joint-wise characterizations in a situation where several joints are actuated simultaneously, or even where only one joint is actuated but where the pose of the robot is different, may not be sufficiently accurate. The net effect of several joint characterizations may not be soundly predicted by the joint positions, because the internal motions result in errors in the joint-wise measurements. The resulting associations of the measure or deduced forces/torques with positions of the joints can suffer significant inaccuracies because of the internal motions.
While coupling effects may be mitigated by clamping at each pair of links, (doing so is suggested by Nilsson), this would require a much more convoluted system than what is shown. A great number of clamping means would be required as each link has a different shape in a typical robot, such as that shown. Even if the clamping were performed at links on each side of each joint, the deformations of the links as a whole in practice may not be satisfactorily represented. Precisely where and how the links are clamped may have a noticeable impact on the measurements. Wherever the links are clamped, there is reason for concern that the robot, viewed as a series of these segmented sections, will not behave as the whole robot does. The links themselves are important sources of compliances, but these are not accounted for.
Finally, the approach Nilsson teaches, like the systems with pulleys, cables, chains and masses, may be difficult to operate in a production setting. If clamping each joint individually is chosen, a lot of equipment is needed. If end clamping is used, the only suggested clamping station (tool changer) provides clamping only at configurations that represent a small part of the envelope of the robot, and this small part is not typically aligned with intended work space over which the robot will be used. It will be difficult to get a set of measurements that span any intended process while the robot end is fixed to a tool changer at a periphery of the robot's envelope where most tool changers are located (to avoid obstructing the workspace of the robot). As will be evident to those skilled in the art, kinetostatic calibrations benefit from deviation measurements of the robot in poses that are similar to the operating poses, and these are best achieved by measurements that span the operating poses.
Accordingly there is very little practical advice in the prior art on how to perform kinetostatic calibrations over an intended working envelope of a robot, suitable to robots in a production facility. While mechanically locking an end effector by clamping it in at least some degrees of freedom, to measure a deviation under load of a robot in a fixed pose may have been made known in the art, there remains a need for a practical and accurate technique, especially one that can be applied in industrial settings.